import {createApp} from 'vue'
import App from './App.vue'
import router from './router'

import 'font-awesome/css/font-awesome.min.css'
import axios from 'axios'
import qs from 'qs'
import {
    getCurDate,
    setSessionStorage,
    getSessionStorage,
    removeSessionStorage,
    setLocalStorage,
    getLocalStorage,
    removeLocalStorage,
} from './common.js'
//设置axios的基础url部分
axios.defaults.baseURL = 'http://localhost:8080/';
//将axios挂载到vue实例上，使用时就可以 this.$axios
const app = createApp(App)
app.config.globalProperties.$axios = axios;
app.config.globalProperties.$getCurDate = getCurDate;
app.config.globalProperties.$qs = qs;
app.config.globalProperties.$setSessionStorage = setSessionStorage;
app.config.globalProperties.$getSessionStorage = getSessionStorage;
app.config.globalProperties.$removeSessionStorage = removeSessionStorage;
app.config.globalProperties.$setLocalStorage = setLocalStorage;
app.config.globalProperties.$getLocalStorage = getLocalStorage;
app.config.globalProperties.$removeLocalStorage = removeLocalStorage;

router.beforeEach(function (to, from, next) {
    let user = sessionStorage.getItem('user');
    //除了登陆、注册、首页、商家列表、商家信息之外，都需要判断是否登录
    if (!(to.path === '/' || to.path === 'index' || to.path === '/businessList' || to.path === '/businessInfo' || to.path === '/login' || to.path === '/register')) {
        if (user == null) {
            next('/login');
        }else{
            next();
        }
    } else {
        next();
    }
});

app.use(router).mount('#app')
